package com.example.crm.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.crm.entity.SalesProcess;
import com.example.crm.entity.SalesStage;

import java.util.List;

/**
 * 销售流程服务接口
 */
public interface SalesProcessService extends IService<SalesProcess> {
    
    /**
     * 获取流程列表
     * @return 流程列表
     */
    List<SalesProcess> listProcesses();
    
    /**
     * 获取流程详情（包含阶段信息）
     * @param id 流程ID
     * @return 流程详情
     */
    SalesProcess getProcessDetail(Long id);
    
    /**
     * 添加流程
     * @param process 流程信息
     * @param stages 阶段列表
     * @return 是否成功
     */
    boolean addProcess(SalesProcess process, List<SalesStage> stages);
    
    /**
     * 更新流程
     * @param process 流程信息
     * @param stages 阶段列表
     * @return 是否成功
     */
    boolean updateProcess(SalesProcess process, List<SalesStage> stages);
    
    /**
     * 设置默认流程
     * @param id 流程ID
     * @return 是否成功
     */
    boolean setDefaultProcess(Long id);
    
    /**
     * 获取默认流程
     * @return 默认流程
     */
    SalesProcess getDefaultProcess();
} 